package com.cx.utils;

import java.util.Iterator;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import com.cx.utils.rps.RequestParameters;
import com.cx.utils.rps.impl.BaseRps;

/**
 * 
  * @ClassName(类名)      : WebUtil
  * @Description(描述)    : Web工具类
  * @author(作者)         ：曹轩
  * @date (开发日期)      ：2015年9月28日 下午2:01:02
  *
 */
public class WebUtil {
	
	/**
	 * 
	 * @Description(功能描述)    :  获取已封装请求参数
	 * @author(作者)             ：  曹轩
	 * @date (开发日期)          :  2015年9月28日 下午2:30:07 
	 * @exception                : 
	 * @param request
	 * @return  RequestParameters
	 */
	@SuppressWarnings("unchecked")
	public static RequestParameters getParameterAsRps(HttpServletRequest request){
		RequestParameters rqs = new BaseRps();
		//这里存放数组是-------因为出现多选的时候出现多个值
		//尽量在前台处理传过来一个字符串值,不过这里也进行了处理
		Map<String, String[]> map = request.getParameterMap();
		//获取遍历器
		Iterator<String> keyIterator = (Iterator<String>) map.keySet().iterator();
		String key = "";
		while(keyIterator.hasNext()){
			key = keyIterator.next();
			if(map.get(key).length>1){
				for (int i = 0; i < map.get(key).length; i++) {
					StringBuilder data = new StringBuilder();
					data.append(map.get(key)[i]);
					if(i < map.get(key).length-1){
						data.append(",");
					}
				}
			}else{
				String value = (map.get(key))[0];
				rqs.put(key, value);
			}
		}
		return rqs;
	}
	
}
